package com.hzw.saas.web.storage.param;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author zzl
 * @since 10/12/2021
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("文件迁移任务参数")
public class FileMigrationParam extends ExecTaskParam {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("日期参数(yyyy-MM-dd)，只操作该日期(含)之后的数据")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date geDate;

    @ApiModelProperty("日期参数(yyyy-MM-dd)，只操作该日期(不含)之前的数据")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date ltDate;

    /**
     * 在此日期之前(不含)的文件迁移到S3
     */
    @ApiModelProperty("日期参数(yyyy-MM-dd)，在此日期(不含)之前的文件迁移到S3，若为空，则不进行S3迁移任务")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date before2Cloud;

    /**
     * 新的存储根目录(本地文件)，若为空，则不进行本地迁移，若before2Cloud不为空，则只迁移该日期之后(含)的文件
     */
    @ApiModelProperty("新的存储根目录(本地文件)，若为空，则不进行本地迁移，若before2Cloud不为空，则只迁移该日期之后(含)的文件")
    private String newCatalog;

}
